package com.function.model;

import java.util.List;
import java.util.Set;

import com.permission.model.PermissionVO;

public class FunctionService {

	private FunctionInterface dao;

	public FunctionService() {
		dao = new FunctionDAO();
	}

	public FunctionVO addFunction(String function_name, String function_desc, String function_paths) {

		FunctionVO functionVO = new FunctionVO();
		functionVO.setFunction_name(function_name);
		functionVO.setFunction_desc(function_desc);
		functionVO.setFunction_paths(function_paths);
		dao.insert(functionVO);

		return functionVO;
	}

	public FunctionVO updateFunction(String function_no, String function_name, String function_desc, String function_paths) {

		FunctionVO functionVO = new FunctionVO();
		functionVO.setFunction_no(function_no);
		functionVO.setFunction_name(function_name);
		functionVO.setFunction_desc(function_desc);
		functionVO.setFunction_paths(function_paths);

		dao.update(functionVO);

		return functionVO;
	}

	public void deleteFunctionNo(String function_no) {
		dao.delete(function_no);
	}

	public FunctionVO getOneFunction(String function_no) {
		return dao.findByPrimaryKey(function_no);
	}

	public List<FunctionVO> getAll() {
		return dao.getAll();
	}
	
	public Set<PermissionVO> getPermissionByFunctionNo(String function_no) {
		return dao.getPermissionByFunctionNo(function_no);
	}
	
	public List<FunctionVO> getOnesAll(String function_no) {
		return dao.findByFunctionNumberKey(function_no);
	}
}
